package com.sinog.alarm.service;

import com.sinog.alarm.model.SystemCode;
import java.util.List;

/**
 * @desc 报警的原因
 * @author lk
 * @date 2022-02-17 14:17
 */
public interface AlarmReasonService {

    /**
     * 3、有部门，没有用户
     * @return List<SystemCode>
     */
    List<SystemCode> findDepartmentNotHaveUser();

    /**
     * 4、有用户，没有部门
     * @return List<SystemCode>
     */
    List<SystemCode> findUserNotHaveDepartment();

    /**
     * 5、有部门，没有tbsys_code
     * @return List<SystemCode>
     */
    List<SystemCode> findDepartmentNotHaveSystemCode();

    /**
     * 6、有tbsys_code，没有部门
     * @return List<SystemCode>
     */
    List<SystemCode> findSystemCodeNotHaveDepartment();

    /**
     * 11.有用户，没有tbsys_code
     * @return List<SystemCode>
     */
    List<SystemCode> findUserNotHaveSystemCode();

    /**
     * 12.有tbsys_code，没有用户
     * @return List<SystemCode>
     */
    List<SystemCode> findSystemCodeNotHaveUser();

    /**
     * 13、有tbsys_user，没有auth_user
     * @return List<SystemCode>
     */
    List<SystemCode> findSystemCodeNotHaveAuthUser();

    /**
     * 14、有auth_user，没有tbsys_user
     * @return List<SystemCode>
     */
    List<SystemCode> findAuthUserNotHaveSystemCode();

    /**
     * 15、下面两行结果要一致
     * 字典表统计
     * 用户表统计
     * @return List<SystemCode>
     */
    List<SystemCode> systemCodeAuthUserCount();
    //16、下面结果理论要删除

    /**
     * 禁用的系统用户信息
     * @return List<SystemCode>
     */
    List<SystemCode> findDisabledSystemCode();

    /**
     * 禁用的用户认证账号信息
     * @return List<SystemCode>
     */
    List<SystemCode> findDisabledAuthUser();

    /**
     * 19、查询tbsys_department和tbsys_user上级不一致，不一致的需要排查原因使其一致
     * @return List<SystemCode>
     */
    List<SystemCode> departmentInconsistentUser();
}